//app.js
import { mallApi } from "/api/index";
App({
  onLaunch: function (options) { },
  onShow(options) {
    console.log(options)
    console.log(`场景值${options.scene}`)
    this.globalData.scene = options.scene;
    wx.getSystemInfo({ // 获取设备信息
      success: (res) => {
        console.log(res)
        this.globalData.systeminfo = res;
      },
      fail() {
        console.log("获取系统信息失败");
        this.globalData.showNavigation = false  //是否显示自定义导航
      }
    })

    // if (this.isDay()) {
    //   this.getUserView(options)
    // }
  },
  isDay() {
    let getFullYear = (new Date()).getFullYear();
    let getMonth = (new Date()).getMonth() + 1;
    let getDate = (new Date()).getDate();
    let newDay = `${getFullYear}-${getMonth}-${getDate}`; // 当前日期
    let lastDay = wx.getStorageSync("lastDay"); // 上一次上报日期
    // console.log(newDay, lastDay, '----000----')
    if (lastDay && newDay === lastDay) {
      console.log('当天已经上报过')
      return false;    // 不存在或者当前页
    } else {
      console.log('可以请求上报接口了')
      return true
    }

  },
  //浏览小程序上报
  async getUserView(options) {
    try {
      const resp = await mallApi.getUserView({
        route: options.path, //访问页面路径
        scene: options.scene, //场景值
        // path: ''  //页面标题
      })
      console.log(resp)
      let getFullYear = (new Date()).getFullYear();
      let getMonth = (new Date()).getMonth() + 1;
      let getDate = (new Date()).getDate();
      wx.setStorageSync("lastDay", `${getFullYear}-${getMonth}-${getDate}`);
    } catch (e) { }
  },
  // chat.js 需要用到监听功能
  watch: function (key, method) {
    var obj = this.globalData;
    //加个前缀生成隐藏变量，防止死循环发生
    let ori = obj[key]; //obj[key]这个不能放在Object.defineProperty里
    if (ori) { //处理已经声明的变量，绑定处理
      method(ori);
    }
    Object.defineProperty(obj, key, {
      configurable: true,
      enumerable: true,
      set: function (value) {
        this['_' + key] = value;
        // console.log('是否会被执行2')
        method(value);
      },
      get: function () {
        // 在其他界面调用key值的时候，这里就会执行。
        if (typeof this['_' + key] == 'undefined') {
          if (ori) {
            //这里读取数据的时候隐藏变量和 globalData设置不一样，所以要做同步处理
            this['_' + key] = ori;
            return ori;
          } else {
            return undefined;
          }
        } else {
          return this['_' + key];
        }
      }
    })
  },
  globalData: {
    filesHost: 'https://files.iranboss.com/',
    phoneNumber: '02032581074', // 客服电话
    finderUserName: 'sphMWJIAM0oKoB7', // 染博士安全染发
    systeminfo: {},
    userInfo: null,
    scene: null,
    showNavigation: null,
    location: {},
    reservationInfo: {}
  }
})
